As to a recent automobile, ecology, space saving and safety have been asked for and the realization of high-speed transmission, real-time processing and high reliability as well as a fine control are required.
In order to satisfy these requirements, the electronic control of each module of an automobile has been promoted and a plurality of electronic control units (ECUs) are mounted on each automobile. The ECUs constitute a network and each piece of control information is exchanged by communications between the ECU.
In communication protocol, such as a controller area network (CAN) currently used for these communications between ECU, there is a problem of insufficient capability, although the above-described requirements are increasing. Therefore, as a communication method that is highly reliable and capable of realizing high-degree control, FlexRay being a next generation communication method is focused.
As an example, FlexRay being one of TDMA methods featured by a flexible segment structure comprising a fixed area and a variable area is described below. However, the communication method is not limited to this.
FlexRay is a time-trigger method (in other words, a TDMA method). In FlexRay, a certain time (communication cycle) is divided into slots and a node assigned to each slot transmits a frame. Therefore, data may be surely transferred according to a given schedule. Therefore, compared with an event trigger method (for example, CAN) in which a node issues a communication request in accordance with the occurrence of an event or the like, the real-time processing of data communications is improved and reliability is also improved by using two communication paths.
FIG. 1 illustrates an example network configuration of a cluster comprising a plurality of nodes adopting FlexRay. In FIG. 1, ECU#1 (11), ECU#2 (12), ECU#3 (13), ECU#4 (14), . . . and ECU#n (1n) are connected to each other by a channel A bus (21) and a channel B bus (22).
FIG. 2 explains a communication cycle and a segment/slot structure in FlexRay.
As illustrated in FIG. 2, the communication schedule of FlexRay comprises communication cycles for repeatedly counting 0 through 63 using 6 bits, a segment for managing a time division multiple access (TDMA) in one of the communication cycles and slots. The segment is divided into a static segment and a dynamic segment.
The number of slots of the static segment is 2 through 1,023 and a slot ID is attached across from the static slot of the static segment to the dynamic slot of the dynamic segment. The maximum value of the slot ID is 2,047. Although the static slot has a fixed length, the dynamic slot is formed by collecting several mini-slots and has variable length.
In FIG. 2, a static slot whose ID is 2 is assigned to ECU#2 and comprises an idle portion which transmits no data, a static frame for ECU#2 and an idle portion. A dynamic slot whose ID is 51 is assigned to ECU#n and comprises an idle portion, a dynamic frame for ECU#n and an idle portion. The last end of a communication cycle is assigned to a symbol window SW being a fixed-length time slot for transmitting a special symbol and a network idle time NIT being no communication period, during which the communication controller of each node performs several operation processes.
As illustrated in FIG. 2, the assignment of a static slot to each ECU in the communication cycle 2 is the similar as in the communication cycle 1, and slots 1 and 2 are assigned to ECU#1 and #2, respectively.
FIG. 3 explains the transmitting process of a static segment. The slot counters for channels A and B are initialized at the head of a communication cycle and monitor the current slot position. Then, when the frame ID used by a local ECU and a static slot number are matched, a frame is transmitted. Although the slot counter of each channel is separately controlled during the static segment period, their count values may be the same.
As described earlier, the size of each slot of the static segment is fixed and takes a value in the range of 4 to 659 MT in units of macrotic (MT) of the similar length (time) in a cluster. Transmitting/receiving of a frame in the slot is assured each time in each communication cycle.
FIG. 4 explains the transmitting process of a dynamic segment. A dynamic segment has a transfer area of variable-length slot comprising mini-slots each of which occupies a time area being a minimum unit smaller than a slot. Therefore, a dynamic segment may transmit/receive a variable-length frame. The length of a mini-slot is in the range of 2 to 63 MT and its number is in the range of 0 to 7,986.
As exemplified in FIG. 4, if the last slot ID of a static segment is 50, a slot counter takes over the counter value and both the values m of the slot counters for channels A and B are 51 (m=51). Then, in the dynamic segment, the slot counter monitors the current mini-slot position.
The slot counter individually operates for each channel. In FIG. 4, in channel A, a frame is transmitted when the slot counter value is m and the slot counter value is m during the period. However, in channel B, the counter value counts up from m to m+1 to m+2 during the period and at m+3, a frame of frame ID m+3 is transferred. In an area where no frame is transferred, the value of the slot counter is incremented every mini-slot.
Since slots of a dynamic segment is transmitted giving priority to the slot of the smaller number, the larger is the slot ID number, the lower becomes its transmitting priority in a conventional dynamic segment. Therefore, if in a dynamic segment, a frame of a large data size is transmitted having a small slot number, the frame transmitting time of slots after that becomes insufficient and sometimes all the frames may not be transmitted.
FIG. 5 explains constraints in a dynamic segment.
As to a dynamic segment, a parameter called pLatestTx for determining whether the last end in which a frame may be transferred is reached after sequentially transferring frames is used. Although this parameter may take a value in the range of 0-7, 981 mini-slots, it is used to determine in such a way that a longest dynamic frame may be transmitted last. The longest dynamic frame is the total length of a header, a payload and a trailer and is 262 bytes.
Dynamic frames are sequentially transmitted, lastly the mini-slot time area up to pLatestTx is transmitted and the transmission of a new slot is prohibited. Therefore, if preferential frames using smaller slot ID numbers are transmitted up to pLatestTx, non-preferential frames may not be transmitted in the current cycle.
Therefore, when there is no need to give priority, priority by ID is given by necessity and a difference in the frequency of transmission completion is generated by an assigned ID number in the transmission of slots essentially with the similar priority.
For example, although in a gateway system for connecting a FlexRay transmission path and a transmission path by another protocol, there is no difference in priority in the gateway of output queue on the FlexRay side, when a dynamic slot for transmission output is assigned for each output queue on the FlexRay side, sometimes there may occur a difference in the transmission amount of messages between queues essentially with the similar priority due to a difference in priority by the assignment of a slot ID.
A specification document of the above described FlexRay may be downloaded by accessing the home page of the “FlexRay Communication System Protocol Specification” ver. 2.1 Rev. A (Dec. 22, 2005) (http://www.flexray.com/index.php).
The Laid-open Japanese Translation of PCT International Patent Application Publication No. H11-514812 discusses a technology for dynamically changing the capacity of a control channel or a data channel in a communication method adopting a trigger method as in FlexRay.
The Japanese Laid-open Patent Publication No. 2005-328119 discusses a communication message conversion device for converting a message in CAN transmission path and a message in FlexRay transmission path to each other.
As described above, in a typical network adopting FlexRay, a static slot is uniformly transmitted from each node, as to a dynamic slot there is inequality in a transmission chance that a dynamic slot of a larger ID number assigned is seldom transmitted and one having a smaller ID number is often transmitted.
For example, in the protocol specification of FlexRay, when the band of a dynamic segment runs short, frames may not be transmitted in the current cycle and frame transmission is postponed to a subsequent communication cycle. When a great number of frames having smaller slot numbers or a long frame is transmitted, there is a high possibility that dynamic segment time always runs short and a frame of a larger slot number may be hardly transmitted.
However, sometimes it is used for even a non-preferential node due to a large slot number to transmit a frame in the current communication cycle.